/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  com.alibaba.fastjson.JSONObject
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.beans.value.ChangeListener
 *  javafx.beans.value.ObservableValue
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.Pagination
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.control.cell.TextFieldTableCell
 *  javafx.scene.layout.VBox
 *  javafx.scene.text.Text
 *  javafx.stage.Modality
 *  javafx.util.Callback
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.CollectionUtils
 */
package com.gys.controller.saleRecipel;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gys.common.business.SaleRecipelUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.data.PageInfo;
import com.gys.common.exception.BusinessException;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.ConstUtil;
import com.gys.controller.BaseController;
import com.gys.controller.dataManger.ControllerManger;
import com.gys.controller.index.IndexController;
import com.gys.controller.saleRecipel.RecipelInputController;
import com.gys.controller.saleRecipel.RemoteAuditController;
import com.gys.data.deviceCheck.GsdcStatus;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.saleRecipel.GaiaSdSaleRecipelRecordInData;
import com.gys.data.saleRecipel.GaiaSdSaleRecipelRecordOutData;
import com.gys.view.saleRecipel.RecipelInfoInputView;
import de.felixroske.jfxsupport.FXMLController;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Pagination;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.util.Callback;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

@FXMLController
public class SaleRecipelRecordController
extends BaseController
implements Initializable {
    private final int pageSize = ConstUtil.DEFAULT_PAGESIZE;
    private final int defaultPageCount = ConstUtil.DEFAULT_PAGECOUNT;
    private ObservableList<GaiaSdSaleRecipelRecordOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    private int btnType;
    @FXML
    private Button sureBtn;
    @FXML
    private Button genBtn;
    @FXML
    private Button queryBtn;
    @FXML
    private Pagination pagination;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private VBox vBox;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> index;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> recipelRecordOutDataCheckBox;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrVoucherId;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrType;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrBrName;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrDate;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrTime;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrEmp;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBrName;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gsshDate;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gsshTime;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBillNo;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustName;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustSex;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustAge;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustIdcard;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustMobile;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrPharmacistId;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrPharmacistName;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckDate;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckTime;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckStatus;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proCode;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proCommonname;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proSpecs;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proUnit;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBatch;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdQty;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdPrc1;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proFactoryName;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proPlace;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proForm;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> proRegisterNo;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelId;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelHospital;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelDepartment;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelDoctor;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrSymptom;
    @FXML
    private TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrDiagnose;
    @FXML
    private TableView<GaiaSdSaleRecipelRecordOutData> tableView;
    @Autowired
    private IndexController indexController;
    @Autowired
    private RemoteAuditController remoteOpenRecipelController;
    @Autowired
    private RecipelInputController recipelInputController;

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.tableView.setPrefWidth(this.getContentWidth());
        this.pagination.setPrefWidth(this.getContentWidth());
        ControllerManger.controllerMap.put(this.getClass().getSimpleName(), this);
        this.pagination.setPageFactory((Callback)new Callback<Integer, Node>(){

            public Node call(Integer pageNum) {
                return SaleRecipelRecordController.this.initTable(pageNum);
            }
        });
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.initTable(0);
    }

    public TableView<GaiaSdSaleRecipelRecordOutData> initTable(int pageNum) {
        GaiaSdSaleRecipelRecordInData inData = new GaiaSdSaleRecipelRecordInData();
        inData.setPageNum(pageNum + 1);
        inData.setPageSize(this.pageSize);
        inData.setGsshBrId(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        inData.setRecipelFlag("0");
        PageInfo pageInfo = null;
        HttpJson rsp = SaleRecipelUtil.getSaleRecipelRecordList(inData);
        if (rsp.isSuccess()) {
            pageInfo = (PageInfo)JSON.parseObject((String)rsp.getMsg(), PageInfo.class);
            if (pageInfo != null && !CollectionUtils.isEmpty(pageInfo.getList())) {
                ArrayList<GaiaSdSaleRecipelRecordOutData> listTemp = new ArrayList<GaiaSdSaleRecipelRecordOutData>();
                for (int i = 0; i < pageInfo.getList().size(); ++i) {
                    String str = JSONObject.toJSONString(pageInfo.getList().get(i));
                    GaiaSdSaleRecipelRecordOutData saleRecipelRecordOutData = (GaiaSdSaleRecipelRecordOutData)JSONObject.parseObject((String)str, GaiaSdSaleRecipelRecordOutData.class);
                    listTemp.add(saleRecipelRecordOutData);
                }
                pageInfo.setList(listTemp);
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        List<GaiaSdSaleRecipelRecordOutData> dataList = null;
        if (pageInfo != null && !CollectionUtils.isEmpty(pageInfo.getList())) {
            this.pagination.setPageCount(pageInfo.getPages());
            dataList = pageInfo.getList();
        } else {
            this.pagination.setPageCount(this.defaultPageCount);
            dataList = new ArrayList();
        }
        this.observableTableList.clear();
        this.observableTableList = FXCollections.observableArrayList(dataList);
        this.bingTableCell();
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    private void bingTableCell() {
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.recipelRecordOutDataCheckBox.setCellValueFactory(cellData -> ((GaiaSdSaleRecipelRecordOutData)cellData.getValue()).getRecipelRecordOutDataCheckBox().getCustomCheckBox());
        this.recipelRecordOutDataCheckBox.setCellFactory(col -> {
            TableCell<GaiaSdSaleRecipelRecordOutData, CheckBox> cell = new TableCell<GaiaSdSaleRecipelRecordOutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollectionUtils.isEmpty((Collection)SaleRecipelRecordController.this.observableTableList)) {
                                return;
                            }
                        });
                    }
                }
            };
            return cell;
        });
        this.gssrVoucherId.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrVoucherId.getId()));
        this.gssrType.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrType.getId()));
        this.gssrBrName.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrBrName.getId()));
        this.gssrDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsshDate.getId()));
        this.gssrTime.setCellValueFactory((Callback)new PropertyValueFactory(this.gsshTime.getId()));
        this.gssrEmp.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrEmp.getId()));
        this.gssdBrName.setCellValueFactory((Callback)new PropertyValueFactory(this.gssdBrName.getId()));
        this.gsshDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsshDate.getId()));
        this.gssdBillNo.setCellValueFactory((Callback)new PropertyValueFactory(this.gssdBillNo.getId()));
        this.gssrCustName.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCustName.getId()));
        this.gssrCustSex.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCustSex.getId()));
        this.gssrCustAge.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCustAge.getId()));
        this.gssrCustIdcard.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCustIdcard.getId()));
        this.gssrCustMobile.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCustMobile.getId()));
        this.gssrPharmacistId.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrPharmacistId.getId()));
        this.gssrPharmacistName.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrPharmacistName.getId()));
        this.gssrCheckDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsshDate.getId()));
        this.gssrCheckTime.setCellValueFactory((Callback)new PropertyValueFactory(this.gsshTime.getId()));
        this.gssrCheckStatus.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrCheckStatus.getId()));
        this.proCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode.getId()));
        this.proCommonname.setCellValueFactory((Callback)new PropertyValueFactory(this.proCommonname.getId()));
        this.proSpecs.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs.getId()));
        this.proUnit.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit.getId()));
        this.gssdBatch.setCellValueFactory((Callback)new PropertyValueFactory(this.gssdBatch.getId()));
        this.gssdQty.setCellValueFactory((Callback)new PropertyValueFactory(this.gssdQty.getId()));
        this.gssdPrc1.setCellValueFactory((Callback)new PropertyValueFactory(this.gssdPrc1.getId()));
        this.proFactoryName.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName.getId()));
        this.proPlace.setCellValueFactory((Callback)new PropertyValueFactory(this.proPlace.getId()));
        this.proForm.setCellValueFactory((Callback)new PropertyValueFactory(this.proForm.getId()));
        this.proRegisterNo.setCellValueFactory((Callback)new PropertyValueFactory(this.proRegisterNo.getId()));
        this.gssrRecipelId.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrRecipelId.getId()));
        this.gssrRecipelHospital.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrRecipelHospital.getId()));
        this.gssrRecipelDepartment.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrRecipelDepartment.getId()));
        this.gssrRecipelDoctor.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrRecipelDoctor.getId()));
        this.gssrSymptom.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrSymptom.getId()));
        this.gssrDiagnose.setCellValueFactory((Callback)new PropertyValueFactory(this.gssrDiagnose.getId()));
        this.editeTableCell(this.gssrCustName);
        this.editeTableCell(this.gssrCustSex);
        this.editeTableCell(this.gssrCustAge);
        this.editeTableCell(this.gssrCustIdcard);
        this.editeTableCell(this.gssrCustMobile);
        this.editeTableCell(this.gssrPharmacistId);
        this.editeTableCell(this.gssrPharmacistName);
        this.editeTableCell(this.gssrRecipelId);
        this.editeTableCell(this.gssrRecipelHospital);
        this.editeTableCell(this.gssrRecipelDepartment);
        this.editeTableCell(this.gssrRecipelDoctor);
        this.editeTableCell(this.gssrSymptom);
        this.editeTableCell(this.gssrDiagnose);
    }

    @FXML
    private void saleRecipelRecordList() {
        this.btnType = 1;
        this.initTable(0);
        this.pagination.setCurrentPageIndex(0);
    }

    @FXML
    void genAction() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        List<Integer> indexList = this.getSelectIndex();
        if (ObjectUtil.isEmpty(indexList)) {
            alert.setContentText("\u8bf7\u9009\u62e9\u8bb0\u5f55");
            alert.showAndWait();
            return;
        }
        HashSet<String> numSet = new HashSet<String>();
        for (int i = 0; i < this.observableTableList.size(); ++i) {
            if (!((GaiaSdSaleRecipelRecordOutData)this.observableTableList.get(i)).getRecipelRecordOutDataCheckBox().isSelected().booleanValue()) continue;
            numSet.add(((GaiaSdSaleRecipelRecordOutData)this.observableTableList.get(i)).getGssdBillNo());
            if (numSet.size() <= 1) continue;
            alert.setContentText("\u53ea\u80fd\u9009\u62e9\u540c\u4e00\u9500\u552e\u5355\u53f7\u7684\u8bb0\u5f55");
            alert.showAndWait();
            return;
        }
        this.recipelInputController.init();
        CommonUtil.showView(RecipelInfoInputView.class, Modality.APPLICATION_MODAL);
    }

    private List<GsdcStatus> getSex() {
        ArrayList<GsdcStatus> list = new ArrayList<GsdcStatus>();
        list.add(new GsdcStatus("1", "\u7537"));
        list.add(new GsdcStatus("2", "\u5973"));
        return list;
    }

    public List<Integer> getSelectIndex() {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        if (!CollectionUtils.isEmpty(this.observableTableList)) {
            for (GaiaSdSaleRecipelRecordOutData i : this.observableTableList) {
                if (!i.getRecipelRecordOutDataCheckBox().isSelected().booleanValue()) continue;
                ids.add(i.getIndex());
            }
        }
        return ids;
    }

    private void editeTableCell(TableColumn<GaiaSdSaleRecipelRecordOutData, String> tableColumn) {
        tableColumn.setCellFactory(TextFieldTableCell.forTableColumn());
        tableColumn.setOnEditCommit(t -> {
            GaiaSdSaleRecipelRecordOutData line = (GaiaSdSaleRecipelRecordOutData)t.getTableView().getItems().get(t.getTablePosition().getRow());
            String methodName = CommonUtil.getSetMethod(tableColumn.getId());
            try {
                Method method = GaiaSdSaleRecipelRecordOutData.class.getMethod(methodName, String.class);
                method.invoke(line, t.getNewValue());
            }
            catch (Exception e) {
                throw new RuntimeException("\u6ca1\u6709\u65b9\u6cd5" + methodName);
            }
        });
        tableColumn.setOnEditStart(t -> {
            GaiaSdSaleRecipelRecordOutData line = (GaiaSdSaleRecipelRecordOutData)t.getTableView().getItems().get(t.getTablePosition().getRow());
            List<Integer> indexList = this.getSelectIndex();
            if (!indexList.contains(line.getIndex())) {
                throw new BusinessException(null);
            }
        });
    }

    public void changeToTextFieldEdit(TableColumn<GaiaSdSaleRecipelRecordOutData, String> column) {
        column.setCellFactory(tc -> {
            final TextField textField = new TextField();
            TableCell<GaiaSdSaleRecipelRecordOutData, String> cell = new TableCell<GaiaSdSaleRecipelRecordOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        List<Integer> indexList = SaleRecipelRecordController.this.getSelectIndex();
                        if (indexList.contains(this.getIndex() + 1)) {
                            textField.setText(chuzhi);
                            this.setGraphic((Node)textField);
                        } else {
                            Text text = new Text();
                            text.setText(chuzhi);
                            this.setGraphic((Node)text);
                        }
                    }
                }
            };
            textField.textProperty().addListener(new ChangeListener(){
                final TableCell val_cell;
                final TextField val_textField;
                {
                    this.val_cell = cell;
                    this.val_textField = textField;
                }

                public void changed(ObservableValue observable, Object oldValue, Object newValue) {
                    int rank = this.val_cell.getIndex();
                    String cloumName = this.val_cell.getId();
                    String value = this.val_textField.getText();
                    GaiaSdSaleRecipelRecordOutData outData = (GaiaSdSaleRecipelRecordOutData)SaleRecipelRecordController.this.observableTableList.get(rank);
                    String methodName = CommonUtil.getSetMethod(cloumName);
                    try {
                        Method method = GaiaSdSaleRecipelRecordOutData.class.getMethod(methodName, String.class);
                        method.invoke(outData, value);
                    }
                    catch (Exception ex) {
                        throw new RuntimeException("\u6ca1\u6709\u65b9\u6cd5" + methodName);
                    }
                }
            });
            return cell;
        });
    }

    public int getPageSize() {
        return this.pageSize;
    }

    public int getDefaultPageCount() {
        return this.defaultPageCount;
    }

    public ObservableList<GaiaSdSaleRecipelRecordOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public int getBtnType() {
        return this.btnType;
    }

    public Button getSureBtn() {
        return this.sureBtn;
    }

    public Button getGenBtn() {
        return this.genBtn;
    }

    public Button getQueryBtn() {
        return this.queryBtn;
    }

    public Pagination getPagination() {
        return this.pagination;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getIndex() {
        return this.index;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> getRecipelRecordOutDataCheckBox() {
        return this.recipelRecordOutDataCheckBox;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrVoucherId() {
        return this.gssrVoucherId;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrType() {
        return this.gssrType;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrBrName() {
        return this.gssrBrName;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrDate() {
        return this.gssrDate;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrTime() {
        return this.gssrTime;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrEmp() {
        return this.gssrEmp;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssdBrName() {
        return this.gssdBrName;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGsshDate() {
        return this.gsshDate;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGsshTime() {
        return this.gsshTime;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssdBillNo() {
        return this.gssdBillNo;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCustName() {
        return this.gssrCustName;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCustSex() {
        return this.gssrCustSex;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCustAge() {
        return this.gssrCustAge;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCustIdcard() {
        return this.gssrCustIdcard;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCustMobile() {
        return this.gssrCustMobile;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrPharmacistId() {
        return this.gssrPharmacistId;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrPharmacistName() {
        return this.gssrPharmacistName;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCheckDate() {
        return this.gssrCheckDate;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCheckTime() {
        return this.gssrCheckTime;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrCheckStatus() {
        return this.gssrCheckStatus;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProCode() {
        return this.proCode;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProCommonname() {
        return this.proCommonname;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProSpecs() {
        return this.proSpecs;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProUnit() {
        return this.proUnit;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssdBatch() {
        return this.gssdBatch;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssdQty() {
        return this.gssdQty;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssdPrc1() {
        return this.gssdPrc1;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProFactoryName() {
        return this.proFactoryName;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProPlace() {
        return this.proPlace;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProForm() {
        return this.proForm;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getProRegisterNo() {
        return this.proRegisterNo;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrRecipelId() {
        return this.gssrRecipelId;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrRecipelHospital() {
        return this.gssrRecipelHospital;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrRecipelDepartment() {
        return this.gssrRecipelDepartment;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrRecipelDoctor() {
        return this.gssrRecipelDoctor;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrSymptom() {
        return this.gssrSymptom;
    }

    public TableColumn<GaiaSdSaleRecipelRecordOutData, String> getGssrDiagnose() {
        return this.gssrDiagnose;
    }

    public TableView<GaiaSdSaleRecipelRecordOutData> getTableView() {
        return this.tableView;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public RemoteAuditController getRemoteOpenRecipelController() {
        return this.remoteOpenRecipelController;
    }

    public RecipelInputController getRecipelInputController() {
        return this.recipelInputController;
    }

    public void setObservableTableList(ObservableList<GaiaSdSaleRecipelRecordOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setBtnType(int btnType) {
        this.btnType = btnType;
    }

    public void setSureBtn(Button sureBtn) {
        this.sureBtn = sureBtn;
    }

    public void setGenBtn(Button genBtn) {
        this.genBtn = genBtn;
    }

    public void setQueryBtn(Button queryBtn) {
        this.queryBtn = queryBtn;
    }

    public void setPagination(Pagination pagination) {
        this.pagination = pagination;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setIndex(TableColumn<GaiaSdSaleRecipelRecordOutData, String> index) {
        this.index = index;
    }

    public void setRecipelRecordOutDataCheckBox(TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> recipelRecordOutDataCheckBox) {
        this.recipelRecordOutDataCheckBox = recipelRecordOutDataCheckBox;
    }

    public void setGssrVoucherId(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrVoucherId) {
        this.gssrVoucherId = gssrVoucherId;
    }

    public void setGssrType(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrType) {
        this.gssrType = gssrType;
    }

    public void setGssrBrName(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrBrName) {
        this.gssrBrName = gssrBrName;
    }

    public void setGssrDate(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrDate) {
        this.gssrDate = gssrDate;
    }

    public void setGssrTime(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrTime) {
        this.gssrTime = gssrTime;
    }

    public void setGssrEmp(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrEmp) {
        this.gssrEmp = gssrEmp;
    }

    public void setGssdBrName(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBrName) {
        this.gssdBrName = gssdBrName;
    }

    public void setGsshDate(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gsshDate) {
        this.gsshDate = gsshDate;
    }

    public void setGsshTime(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gsshTime) {
        this.gsshTime = gsshTime;
    }

    public void setGssdBillNo(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBillNo) {
        this.gssdBillNo = gssdBillNo;
    }

    public void setGssrCustName(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustName) {
        this.gssrCustName = gssrCustName;
    }

    public void setGssrCustSex(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustSex) {
        this.gssrCustSex = gssrCustSex;
    }

    public void setGssrCustAge(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustAge) {
        this.gssrCustAge = gssrCustAge;
    }

    public void setGssrCustIdcard(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustIdcard) {
        this.gssrCustIdcard = gssrCustIdcard;
    }

    public void setGssrCustMobile(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCustMobile) {
        this.gssrCustMobile = gssrCustMobile;
    }

    public void setGssrPharmacistId(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrPharmacistId) {
        this.gssrPharmacistId = gssrPharmacistId;
    }

    public void setGssrPharmacistName(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrPharmacistName) {
        this.gssrPharmacistName = gssrPharmacistName;
    }

    public void setGssrCheckDate(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckDate) {
        this.gssrCheckDate = gssrCheckDate;
    }

    public void setGssrCheckTime(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckTime) {
        this.gssrCheckTime = gssrCheckTime;
    }

    public void setGssrCheckStatus(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrCheckStatus) {
        this.gssrCheckStatus = gssrCheckStatus;
    }

    public void setProCode(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proCode) {
        this.proCode = proCode;
    }

    public void setProCommonname(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proCommonname) {
        this.proCommonname = proCommonname;
    }

    public void setProSpecs(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proSpecs) {
        this.proSpecs = proSpecs;
    }

    public void setProUnit(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proUnit) {
        this.proUnit = proUnit;
    }

    public void setGssdBatch(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdBatch) {
        this.gssdBatch = gssdBatch;
    }

    public void setGssdQty(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdQty) {
        this.gssdQty = gssdQty;
    }

    public void setGssdPrc1(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssdPrc1) {
        this.gssdPrc1 = gssdPrc1;
    }

    public void setProFactoryName(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proFactoryName) {
        this.proFactoryName = proFactoryName;
    }

    public void setProPlace(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proPlace) {
        this.proPlace = proPlace;
    }

    public void setProForm(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proForm) {
        this.proForm = proForm;
    }

    public void setProRegisterNo(TableColumn<GaiaSdSaleRecipelRecordOutData, String> proRegisterNo) {
        this.proRegisterNo = proRegisterNo;
    }

    public void setGssrRecipelId(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelId) {
        this.gssrRecipelId = gssrRecipelId;
    }

    public void setGssrRecipelHospital(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelHospital) {
        this.gssrRecipelHospital = gssrRecipelHospital;
    }

    public void setGssrRecipelDepartment(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelDepartment) {
        this.gssrRecipelDepartment = gssrRecipelDepartment;
    }

    public void setGssrRecipelDoctor(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrRecipelDoctor) {
        this.gssrRecipelDoctor = gssrRecipelDoctor;
    }

    public void setGssrSymptom(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrSymptom) {
        this.gssrSymptom = gssrSymptom;
    }

    public void setGssrDiagnose(TableColumn<GaiaSdSaleRecipelRecordOutData, String> gssrDiagnose) {
        this.gssrDiagnose = gssrDiagnose;
    }

    public void setTableView(TableView<GaiaSdSaleRecipelRecordOutData> tableView) {
        this.tableView = tableView;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setRemoteOpenRecipelController(RemoteAuditController remoteOpenRecipelController) {
        this.remoteOpenRecipelController = remoteOpenRecipelController;
    }

    public void setRecipelInputController(RecipelInputController recipelInputController) {
        this.recipelInputController = recipelInputController;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof SaleRecipelRecordController)) {
            return false;
        }
        SaleRecipelRecordController other = (SaleRecipelRecordController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.getPageSize() != other.getPageSize()) {
            return false;
        }
        if (this.getDefaultPageCount() != other.getDefaultPageCount()) {
            return false;
        }
        ObservableList<GaiaSdSaleRecipelRecordOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<GaiaSdSaleRecipelRecordOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        if (this.getBtnType() != other.getBtnType()) {
            return false;
        }
        Button this$sureBtn = this.getSureBtn();
        Button other$sureBtn = other.getSureBtn();
        if (this$sureBtn == null ? other$sureBtn != null : !this$sureBtn.equals(other$sureBtn)) {
            return false;
        }
        Button this$genBtn = this.getGenBtn();
        Button other$genBtn = other.getGenBtn();
        if (this$genBtn == null ? other$genBtn != null : !this$genBtn.equals(other$genBtn)) {
            return false;
        }
        Button this$queryBtn = this.getQueryBtn();
        Button other$queryBtn = other.getQueryBtn();
        if (this$queryBtn == null ? other$queryBtn != null : !this$queryBtn.equals(other$queryBtn)) {
            return false;
        }
        Pagination this$pagination = this.getPagination();
        Pagination other$pagination = other.getPagination();
        if (this$pagination == null ? other$pagination != null : !this$pagination.equals(other$pagination)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$index = this.getIndex();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> this$recipelRecordOutDataCheckBox = this.getRecipelRecordOutDataCheckBox();
        TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> other$recipelRecordOutDataCheckBox = other.getRecipelRecordOutDataCheckBox();
        if (this$recipelRecordOutDataCheckBox == null ? other$recipelRecordOutDataCheckBox != null : !this$recipelRecordOutDataCheckBox.equals(other$recipelRecordOutDataCheckBox)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrVoucherId = this.getGssrVoucherId();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrVoucherId = other.getGssrVoucherId();
        if (this$gssrVoucherId == null ? other$gssrVoucherId != null : !this$gssrVoucherId.equals(other$gssrVoucherId)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrType = this.getGssrType();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrType = other.getGssrType();
        if (this$gssrType == null ? other$gssrType != null : !this$gssrType.equals(other$gssrType)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrBrName = this.getGssrBrName();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrBrName = other.getGssrBrName();
        if (this$gssrBrName == null ? other$gssrBrName != null : !this$gssrBrName.equals(other$gssrBrName)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrDate = this.getGssrDate();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrDate = other.getGssrDate();
        if (this$gssrDate == null ? other$gssrDate != null : !this$gssrDate.equals(other$gssrDate)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrTime = this.getGssrTime();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrTime = other.getGssrTime();
        if (this$gssrTime == null ? other$gssrTime != null : !this$gssrTime.equals(other$gssrTime)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrEmp = this.getGssrEmp();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrEmp = other.getGssrEmp();
        if (this$gssrEmp == null ? other$gssrEmp != null : !this$gssrEmp.equals(other$gssrEmp)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssdBrName = this.getGssdBrName();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssdBrName = other.getGssdBrName();
        if (this$gssdBrName == null ? other$gssdBrName != null : !this$gssdBrName.equals(other$gssdBrName)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gsshDate = this.getGsshDate();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gsshDate = other.getGsshDate();
        if (this$gsshDate == null ? other$gsshDate != null : !this$gsshDate.equals(other$gsshDate)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gsshTime = this.getGsshTime();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gsshTime = other.getGsshTime();
        if (this$gsshTime == null ? other$gsshTime != null : !this$gsshTime.equals(other$gsshTime)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssdBillNo = this.getGssdBillNo();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssdBillNo = other.getGssdBillNo();
        if (this$gssdBillNo == null ? other$gssdBillNo != null : !this$gssdBillNo.equals(other$gssdBillNo)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCustName = this.getGssrCustName();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCustName = other.getGssrCustName();
        if (this$gssrCustName == null ? other$gssrCustName != null : !this$gssrCustName.equals(other$gssrCustName)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCustSex = this.getGssrCustSex();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCustSex = other.getGssrCustSex();
        if (this$gssrCustSex == null ? other$gssrCustSex != null : !this$gssrCustSex.equals(other$gssrCustSex)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCustAge = this.getGssrCustAge();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCustAge = other.getGssrCustAge();
        if (this$gssrCustAge == null ? other$gssrCustAge != null : !this$gssrCustAge.equals(other$gssrCustAge)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCustIdcard = this.getGssrCustIdcard();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCustIdcard = other.getGssrCustIdcard();
        if (this$gssrCustIdcard == null ? other$gssrCustIdcard != null : !this$gssrCustIdcard.equals(other$gssrCustIdcard)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCustMobile = this.getGssrCustMobile();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCustMobile = other.getGssrCustMobile();
        if (this$gssrCustMobile == null ? other$gssrCustMobile != null : !this$gssrCustMobile.equals(other$gssrCustMobile)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrPharmacistId = this.getGssrPharmacistId();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrPharmacistId = other.getGssrPharmacistId();
        if (this$gssrPharmacistId == null ? other$gssrPharmacistId != null : !this$gssrPharmacistId.equals(other$gssrPharmacistId)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrPharmacistName = this.getGssrPharmacistName();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrPharmacistName = other.getGssrPharmacistName();
        if (this$gssrPharmacistName == null ? other$gssrPharmacistName != null : !this$gssrPharmacistName.equals(other$gssrPharmacistName)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCheckDate = this.getGssrCheckDate();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCheckDate = other.getGssrCheckDate();
        if (this$gssrCheckDate == null ? other$gssrCheckDate != null : !this$gssrCheckDate.equals(other$gssrCheckDate)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCheckTime = this.getGssrCheckTime();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCheckTime = other.getGssrCheckTime();
        if (this$gssrCheckTime == null ? other$gssrCheckTime != null : !this$gssrCheckTime.equals(other$gssrCheckTime)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrCheckStatus = this.getGssrCheckStatus();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrCheckStatus = other.getGssrCheckStatus();
        if (this$gssrCheckStatus == null ? other$gssrCheckStatus != null : !this$gssrCheckStatus.equals(other$gssrCheckStatus)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proCode = this.getProCode();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proCode = other.getProCode();
        if (this$proCode == null ? other$proCode != null : !this$proCode.equals(other$proCode)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proCommonname = this.getProCommonname();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proCommonname = other.getProCommonname();
        if (this$proCommonname == null ? other$proCommonname != null : !this$proCommonname.equals(other$proCommonname)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proSpecs = this.getProSpecs();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proSpecs = other.getProSpecs();
        if (this$proSpecs == null ? other$proSpecs != null : !this$proSpecs.equals(other$proSpecs)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proUnit = this.getProUnit();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proUnit = other.getProUnit();
        if (this$proUnit == null ? other$proUnit != null : !this$proUnit.equals(other$proUnit)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssdBatch = this.getGssdBatch();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssdBatch = other.getGssdBatch();
        if (this$gssdBatch == null ? other$gssdBatch != null : !this$gssdBatch.equals(other$gssdBatch)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssdQty = this.getGssdQty();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssdQty = other.getGssdQty();
        if (this$gssdQty == null ? other$gssdQty != null : !this$gssdQty.equals(other$gssdQty)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssdPrc1 = this.getGssdPrc1();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssdPrc1 = other.getGssdPrc1();
        if (this$gssdPrc1 == null ? other$gssdPrc1 != null : !this$gssdPrc1.equals(other$gssdPrc1)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proFactoryName = this.getProFactoryName();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proFactoryName = other.getProFactoryName();
        if (this$proFactoryName == null ? other$proFactoryName != null : !this$proFactoryName.equals(other$proFactoryName)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proPlace = this.getProPlace();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proPlace = other.getProPlace();
        if (this$proPlace == null ? other$proPlace != null : !this$proPlace.equals(other$proPlace)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proForm = this.getProForm();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proForm = other.getProForm();
        if (this$proForm == null ? other$proForm != null : !this$proForm.equals(other$proForm)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$proRegisterNo = this.getProRegisterNo();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$proRegisterNo = other.getProRegisterNo();
        if (this$proRegisterNo == null ? other$proRegisterNo != null : !this$proRegisterNo.equals(other$proRegisterNo)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrRecipelId = this.getGssrRecipelId();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrRecipelId = other.getGssrRecipelId();
        if (this$gssrRecipelId == null ? other$gssrRecipelId != null : !this$gssrRecipelId.equals(other$gssrRecipelId)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrRecipelHospital = this.getGssrRecipelHospital();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrRecipelHospital = other.getGssrRecipelHospital();
        if (this$gssrRecipelHospital == null ? other$gssrRecipelHospital != null : !this$gssrRecipelHospital.equals(other$gssrRecipelHospital)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrRecipelDepartment = this.getGssrRecipelDepartment();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrRecipelDepartment = other.getGssrRecipelDepartment();
        if (this$gssrRecipelDepartment == null ? other$gssrRecipelDepartment != null : !this$gssrRecipelDepartment.equals(other$gssrRecipelDepartment)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrRecipelDoctor = this.getGssrRecipelDoctor();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrRecipelDoctor = other.getGssrRecipelDoctor();
        if (this$gssrRecipelDoctor == null ? other$gssrRecipelDoctor != null : !this$gssrRecipelDoctor.equals(other$gssrRecipelDoctor)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrSymptom = this.getGssrSymptom();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrSymptom = other.getGssrSymptom();
        if (this$gssrSymptom == null ? other$gssrSymptom != null : !this$gssrSymptom.equals(other$gssrSymptom)) {
            return false;
        }
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> this$gssrDiagnose = this.getGssrDiagnose();
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> other$gssrDiagnose = other.getGssrDiagnose();
        if (this$gssrDiagnose == null ? other$gssrDiagnose != null : !this$gssrDiagnose.equals(other$gssrDiagnose)) {
            return false;
        }
        TableView<GaiaSdSaleRecipelRecordOutData> this$tableView = this.getTableView();
        TableView<GaiaSdSaleRecipelRecordOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        RemoteAuditController this$remoteOpenRecipelController = this.getRemoteOpenRecipelController();
        RemoteAuditController other$remoteOpenRecipelController = other.getRemoteOpenRecipelController();
        if (this$remoteOpenRecipelController == null ? other$remoteOpenRecipelController != null : !(this$remoteOpenRecipelController).equals(other$remoteOpenRecipelController)) {
            return false;
        }
        RecipelInputController this$recipelInputController = this.getRecipelInputController();
        RecipelInputController other$recipelInputController = other.getRecipelInputController();
        return !(this$recipelInputController == null ? other$recipelInputController != null : !this$recipelInputController.equals(other$recipelInputController));
    }

    protected boolean canEqual(Object other) {
        return other instanceof SaleRecipelRecordController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        result = result * 59 + this.getPageSize();
        result = result * 59 + this.getDefaultPageCount();
        ObservableList<GaiaSdSaleRecipelRecordOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        result = result * 59 + this.getBtnType();
        Button $sureBtn = this.getSureBtn();
        result = result * 59 + ($sureBtn == null ? 43 : $sureBtn.hashCode());
        Button $genBtn = this.getGenBtn();
        result = result * 59 + ($genBtn == null ? 43 : $genBtn.hashCode());
        Button $queryBtn = this.getQueryBtn();
        result = result * 59 + ($queryBtn == null ? 43 : $queryBtn.hashCode());
        Pagination $pagination = this.getPagination();
        result = result * 59 + ($pagination == null ? 43 : $pagination.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, CheckBox> $recipelRecordOutDataCheckBox = this.getRecipelRecordOutDataCheckBox();
        result = result * 59 + ($recipelRecordOutDataCheckBox == null ? 43 : $recipelRecordOutDataCheckBox.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrVoucherId = this.getGssrVoucherId();
        result = result * 59 + ($gssrVoucherId == null ? 43 : $gssrVoucherId.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrType = this.getGssrType();
        result = result * 59 + ($gssrType == null ? 43 : $gssrType.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrBrName = this.getGssrBrName();
        result = result * 59 + ($gssrBrName == null ? 43 : $gssrBrName.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrDate = this.getGssrDate();
        result = result * 59 + ($gssrDate == null ? 43 : $gssrDate.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrTime = this.getGssrTime();
        result = result * 59 + ($gssrTime == null ? 43 : $gssrTime.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrEmp = this.getGssrEmp();
        result = result * 59 + ($gssrEmp == null ? 43 : $gssrEmp.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssdBrName = this.getGssdBrName();
        result = result * 59 + ($gssdBrName == null ? 43 : $gssdBrName.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gsshDate = this.getGsshDate();
        result = result * 59 + ($gsshDate == null ? 43 : $gsshDate.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gsshTime = this.getGsshTime();
        result = result * 59 + ($gsshTime == null ? 43 : $gsshTime.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssdBillNo = this.getGssdBillNo();
        result = result * 59 + ($gssdBillNo == null ? 43 : $gssdBillNo.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCustName = this.getGssrCustName();
        result = result * 59 + ($gssrCustName == null ? 43 : $gssrCustName.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCustSex = this.getGssrCustSex();
        result = result * 59 + ($gssrCustSex == null ? 43 : $gssrCustSex.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCustAge = this.getGssrCustAge();
        result = result * 59 + ($gssrCustAge == null ? 43 : $gssrCustAge.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCustIdcard = this.getGssrCustIdcard();
        result = result * 59 + ($gssrCustIdcard == null ? 43 : $gssrCustIdcard.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCustMobile = this.getGssrCustMobile();
        result = result * 59 + ($gssrCustMobile == null ? 43 : $gssrCustMobile.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrPharmacistId = this.getGssrPharmacistId();
        result = result * 59 + ($gssrPharmacistId == null ? 43 : $gssrPharmacistId.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrPharmacistName = this.getGssrPharmacistName();
        result = result * 59 + ($gssrPharmacistName == null ? 43 : $gssrPharmacistName.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCheckDate = this.getGssrCheckDate();
        result = result * 59 + ($gssrCheckDate == null ? 43 : $gssrCheckDate.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCheckTime = this.getGssrCheckTime();
        result = result * 59 + ($gssrCheckTime == null ? 43 : $gssrCheckTime.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrCheckStatus = this.getGssrCheckStatus();
        result = result * 59 + ($gssrCheckStatus == null ? 43 : $gssrCheckStatus.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proCode = this.getProCode();
        result = result * 59 + ($proCode == null ? 43 : $proCode.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proCommonname = this.getProCommonname();
        result = result * 59 + ($proCommonname == null ? 43 : $proCommonname.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proSpecs = this.getProSpecs();
        result = result * 59 + ($proSpecs == null ? 43 : $proSpecs.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proUnit = this.getProUnit();
        result = result * 59 + ($proUnit == null ? 43 : $proUnit.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssdBatch = this.getGssdBatch();
        result = result * 59 + ($gssdBatch == null ? 43 : $gssdBatch.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssdQty = this.getGssdQty();
        result = result * 59 + ($gssdQty == null ? 43 : $gssdQty.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssdPrc1 = this.getGssdPrc1();
        result = result * 59 + ($gssdPrc1 == null ? 43 : $gssdPrc1.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proFactoryName = this.getProFactoryName();
        result = result * 59 + ($proFactoryName == null ? 43 : $proFactoryName.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proPlace = this.getProPlace();
        result = result * 59 + ($proPlace == null ? 43 : $proPlace.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proForm = this.getProForm();
        result = result * 59 + ($proForm == null ? 43 : $proForm.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $proRegisterNo = this.getProRegisterNo();
        result = result * 59 + ($proRegisterNo == null ? 43 : $proRegisterNo.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrRecipelId = this.getGssrRecipelId();
        result = result * 59 + ($gssrRecipelId == null ? 43 : $gssrRecipelId.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrRecipelHospital = this.getGssrRecipelHospital();
        result = result * 59 + ($gssrRecipelHospital == null ? 43 : $gssrRecipelHospital.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrRecipelDepartment = this.getGssrRecipelDepartment();
        result = result * 59 + ($gssrRecipelDepartment == null ? 43 : $gssrRecipelDepartment.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrRecipelDoctor = this.getGssrRecipelDoctor();
        result = result * 59 + ($gssrRecipelDoctor == null ? 43 : $gssrRecipelDoctor.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrSymptom = this.getGssrSymptom();
        result = result * 59 + ($gssrSymptom == null ? 43 : $gssrSymptom.hashCode());
        TableColumn<GaiaSdSaleRecipelRecordOutData, String> $gssrDiagnose = this.getGssrDiagnose();
        result = result * 59 + ($gssrDiagnose == null ? 43 : $gssrDiagnose.hashCode());
        TableView<GaiaSdSaleRecipelRecordOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        RemoteAuditController $remoteOpenRecipelController = this.getRemoteOpenRecipelController();
        result = result * 59 + ($remoteOpenRecipelController == null ? 43 : ($remoteOpenRecipelController).hashCode());
        RecipelInputController $recipelInputController = this.getRecipelInputController();
        result = result * 59 + ($recipelInputController == null ? 43 : $recipelInputController.hashCode());
        return result;
    }

    public String toString() {
        return "SaleRecipelRecordController(pageSize=" + this.getPageSize() + ", defaultPageCount=" + this.getDefaultPageCount() + ", observableTableList=" + this.getObservableTableList() + ", btnType=" + this.getBtnType() + ", sureBtn=" + this.getSureBtn() + ", genBtn=" + this.getGenBtn() + ", queryBtn=" + this.getQueryBtn() + ", pagination=" + this.getPagination() + ", scrollPane=" + this.getScrollPane() + ", vBox=" + this.getVBox() + ", index=" + this.getIndex() + ", recipelRecordOutDataCheckBox=" + this.getRecipelRecordOutDataCheckBox() + ", gssrVoucherId=" + this.getGssrVoucherId() + ", gssrType=" + this.getGssrType() + ", gssrBrName=" + this.getGssrBrName() + ", gssrDate=" + this.getGssrDate() + ", gssrTime=" + this.getGssrTime() + ", gssrEmp=" + this.getGssrEmp() + ", gssdBrName=" + this.getGssdBrName() + ", gsshDate=" + this.getGsshDate() + ", gsshTime=" + this.getGsshTime() + ", gssdBillNo=" + this.getGssdBillNo() + ", gssrCustName=" + this.getGssrCustName() + ", gssrCustSex=" + this.getGssrCustSex() + ", gssrCustAge=" + this.getGssrCustAge() + ", gssrCustIdcard=" + this.getGssrCustIdcard() + ", gssrCustMobile=" + this.getGssrCustMobile() + ", gssrPharmacistId=" + this.getGssrPharmacistId() + ", gssrPharmacistName=" + this.getGssrPharmacistName() + ", gssrCheckDate=" + this.getGssrCheckDate() + ", gssrCheckTime=" + this.getGssrCheckTime() + ", gssrCheckStatus=" + this.getGssrCheckStatus() + ", proCode=" + this.getProCode() + ", proCommonname=" + this.getProCommonname() + ", proSpecs=" + this.getProSpecs() + ", proUnit=" + this.getProUnit() + ", gssdBatch=" + this.getGssdBatch() + ", gssdQty=" + this.getGssdQty() + ", gssdPrc1=" + this.getGssdPrc1() + ", proFactoryName=" + this.getProFactoryName() + ", proPlace=" + this.getProPlace() + ", proForm=" + this.getProForm() + ", proRegisterNo=" + this.getProRegisterNo() + ", gssrRecipelId=" + this.getGssrRecipelId() + ", gssrRecipelHospital=" + this.getGssrRecipelHospital() + ", gssrRecipelDepartment=" + this.getGssrRecipelDepartment() + ", gssrRecipelDoctor=" + this.getGssrRecipelDoctor() + ", gssrSymptom=" + this.getGssrSymptom() + ", gssrDiagnose=" + this.getGssrDiagnose() + ", tableView=" + this.getTableView() + ", indexController=" + this.getIndexController() + ", remoteOpenRecipelController=" + this.getRemoteOpenRecipelController() + ", recipelInputController=" + this.getRecipelInputController() + ")";
    }
}

